package com.tedu.bill;

import java.util.Scanner;

/**
 * Author：毕龙
 * Date: 2024/3/24 10:55
 */
public class TestForNest {
    public static void main(String[] args) {
        /**
         *
         ***
         *****
         *******
         *********
         ....
         打印的行数
         每行的星是不确定的  每行打印* 跟行数有关系 2*行数 -1

         外层循环打印行数
         内层循环打印星数
         */
        System.out.println("请输入行数：");
        int line = new Scanner(System.in).nextInt();

        for (int i = 1; i <= line; i++) {
            //打印一行星
            for (int j = 0; j < 2*i-1; j++) {
                //打印星没有换行 print 没有ln
                System.out.print("*");
            }
            //换行
            System.out.println();
        }

        /**
         *  /**
         *              *     4个空格
         *             ***    3个空格
         *            *****   2个空格
         *           *******  1个空格
         *          ********* 0个空格
         *
         */
        System.out.println("==========================");
        for (int i = 1; i < line; i++) {
            //空格放在星号前面打印
            for (int k = 0; k <= line - 1 - i; k++) {
                System.out.print(" ");
            }

            //打印一行星
            for (int j = 0; j < 2*i-1; j++) {
                //打印星没有换行 print 没有ln
                System.out.print("*");
            }
            //换行
            System.out.println();
        }
        /*菱形*/
        System.out.println("==========================");
        for (int i = 1; i < line; i++) {
            //空格放在星号前面打印
            for (int k = 0; k <= line - 1 - i; k++) {
                System.out.print(" ");
            }

            //打印一行星
            for (int j = 0; j < 2*i-1; j++) {
                //打印星没有换行 print 没有ln
                System.out.print("*");
            }
            //换行
            System.out.println();
        }
        for (int i = line; i >= 0; i--) {
            //空格放在星号前面打印
            for (int k = 0; k <= line - 1 - i; k++) {
                System.out.print(" ");
            }

            //打印一行星
            for (int j = 0; j < 2*i-1; j++) {
                //打印星没有换行 print 没有ln
                System.out.print("*");
            }
            //换行
            System.out.println();
        }
        /*
        空心菱形
            *
           * *
          *   *
         *     *
        *       *
         *     *
          *   *
           * *
            *
        * */
        System.out.println("==========================");
        for (int i = 1; i < line; i++) {
            //空格放在星号前面打印
            for (int k = 0; k <= line - 1 - i; k++) {
                System.out.print(" ");
            }

            //打印一行星
            for (int j = 0; j < 2*i-1; j++) {
                if(j == 0 || j == 2*i-2){
                    //打印星没有换行 print 没有ln
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }
            }
            //换行
            System.out.println();
        }
        for (int i = line; i >= 0; i--) {
            //空格放在星号前面打印
            for (int k = 0; k <= line - 1 - i; k++) {
                System.out.print(" ");
            }

            //打印一行星
            for (int j = 0; j < 2*i-1; j++) {
                if(j == 0 || j == 2*i-2){
                    //打印星没有换行 print 没有ln
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }
            }
            //换行
            System.out.println();
        }
    }
}
